package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单对象 sys_order
 * 
 * @author dht
 * @date 2025-04-28
 */
public class SysOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单ID */
    private Long orderId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 酒店ID */
    @Excel(name = "酒店ID")
    private Long hotelId;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private Long status;

    /** 房间类型 */
    @Excel(name = "房间类型")
    private Long hotelRoomType;

    /** 支付方式 */
    @Excel(name = "支付方式")
    private Long payType;

    @Excel(name = "房间状态")
    private Integer roomStatus;

    @Excel(name = "入住时间")
    private Date inDate;

    @Excel(name = "离开时间")
    private Date outDate;

    @Excel(name = "预定数量")
    private Integer roomCount;

    @Excel(name = "特殊要求")
    private String remark;

    @Excel(name = "总金额")
    private BigDecimal totalAmount;

    public Integer getRoomStatus() {
        return roomStatus;
    }

    public void setRoomStatus(Integer roomStatus) {
        this.roomStatus = roomStatus;
    }

    public Date getInDate() {
        return inDate;
    }

    public void setInDate(Date inDate) {
        this.inDate = inDate;
    }

    public Date getOutDate() {
        return outDate;
    }

    public void setOutDate(Date outDate) {
        this.outDate = outDate;
    }

    public Integer getRoomCount() {
        return roomCount;
    }

    public void setRoomCount(Integer roomCount) {
        this.roomCount = roomCount;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setHotelId(Long hotelId) 
    {
        this.hotelId = hotelId;
    }

    public Long getHotelId() 
    {
        return hotelId;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setHotelRoomType(Long hotelRoomType) 
    {
        this.hotelRoomType = hotelRoomType;
    }

    public Long getHotelRoomType() 
    {
        return hotelRoomType;
    }

    public void setPayType(Long payType)
    {
        this.payType = payType;
    }

    public Long getPayType() 
    {
        return payType;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("userId", getUserId())
            .append("hotelId", getHotelId())
            .append("status", getStatus())
            .append("hotelRoomType", getHotelRoomType())
            .append("payType", getPayType())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
